package com.uplooking.pojo;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

public class RepairVOExample {
    protected String orderByClause;

    protected boolean distinct;
    
    protected Integer start;

	protected Integer limit;

	public Integer getStart() {
		return start;
	}

	public void setStart(Integer start) {
		this.start = start;
	}

	public Integer getLimit() {
		return limit;
	}

	public void setLimit(Integer limit) {
		this.limit = limit;
	}

    protected List<Criteria> oredCriteria;

    public RepairVOExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andRridIsNull() {
            addCriterion("rrid is null");
            return (Criteria) this;
        }

        public Criteria andRridIsNotNull() {
            addCriterion("rrid is not null");
            return (Criteria) this;
        }

        public Criteria andRridEqualTo(Integer value) {
            addCriterion("rrid =", value, "rrid");
            return (Criteria) this;
        }

        public Criteria andRridNotEqualTo(Integer value) {
            addCriterion("rrid <>", value, "rrid");
            return (Criteria) this;
        }

        public Criteria andRridGreaterThan(Integer value) {
            addCriterion("rrid >", value, "rrid");
            return (Criteria) this;
        }

        public Criteria andRridGreaterThanOrEqualTo(Integer value) {
            addCriterion("rrid >=", value, "rrid");
            return (Criteria) this;
        }

        public Criteria andRridLessThan(Integer value) {
            addCriterion("rrid <", value, "rrid");
            return (Criteria) this;
        }

        public Criteria andRridLessThanOrEqualTo(Integer value) {
            addCriterion("rrid <=", value, "rrid");
            return (Criteria) this;
        }

        public Criteria andRridIn(List<Integer> values) {
            addCriterion("rrid in", values, "rrid");
            return (Criteria) this;
        }

        public Criteria andRridNotIn(List<Integer> values) {
            addCriterion("rrid not in", values, "rrid");
            return (Criteria) this;
        }

        public Criteria andRridBetween(Integer value1, Integer value2) {
            addCriterion("rrid between", value1, value2, "rrid");
            return (Criteria) this;
        }

        public Criteria andRridNotBetween(Integer value1, Integer value2) {
            addCriterion("rrid not between", value1, value2, "rrid");
            return (Criteria) this;
        }

        public Criteria andRrrnidIsNull() {
            addCriterion("rrrnid is null");
            return (Criteria) this;
        }

        public Criteria andRrrnidIsNotNull() {
            addCriterion("rrrnid is not null");
            return (Criteria) this;
        }

        public Criteria andRrrnidEqualTo(String value) {
            addCriterion("rrrnid =", value, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidNotEqualTo(String value) {
            addCriterion("rrrnid <>", value, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidGreaterThan(String value) {
            addCriterion("rrrnid >", value, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidGreaterThanOrEqualTo(String value) {
            addCriterion("rrrnid >=", value, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidLessThan(String value) {
            addCriterion("rrrnid <", value, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidLessThanOrEqualTo(String value) {
            addCriterion("rrrnid <=", value, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidLike(String value) {
            addCriterion("rrrnid like", value, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidNotLike(String value) {
            addCriterion("rrrnid not like", value, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidIn(List<String> values) {
            addCriterion("rrrnid in", values, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidNotIn(List<String> values) {
            addCriterion("rrrnid not in", values, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidBetween(String value1, String value2) {
            addCriterion("rrrnid between", value1, value2, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrrnidNotBetween(String value1, String value2) {
            addCriterion("rrrnid not between", value1, value2, "rrrnid");
            return (Criteria) this;
        }

        public Criteria andRrbsnoIsNull() {
            addCriterion("rrbsno is null");
            return (Criteria) this;
        }

        public Criteria andRrbsnoIsNotNull() {
            addCriterion("rrbsno is not null");
            return (Criteria) this;
        }

        public Criteria andRrbsnoEqualTo(String value) {
            addCriterion("rrbsno =", value, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoNotEqualTo(String value) {
            addCriterion("rrbsno <>", value, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoGreaterThan(String value) {
            addCriterion("rrbsno >", value, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoGreaterThanOrEqualTo(String value) {
            addCriterion("rrbsno >=", value, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoLessThan(String value) {
            addCriterion("rrbsno <", value, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoLessThanOrEqualTo(String value) {
            addCriterion("rrbsno <=", value, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoLike(String value) {
            addCriterion("rrbsno like", value, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoNotLike(String value) {
            addCriterion("rrbsno not like", value, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoIn(List<String> values) {
            addCriterion("rrbsno in", values, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoNotIn(List<String> values) {
            addCriterion("rrbsno not in", values, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoBetween(String value1, String value2) {
            addCriterion("rrbsno between", value1, value2, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrbsnoNotBetween(String value1, String value2) {
            addCriterion("rrbsno not between", value1, value2, "rrbsno");
            return (Criteria) this;
        }

        public Criteria andRrproblemIsNull() {
            addCriterion("rrproblem is null");
            return (Criteria) this;
        }

        public Criteria andRrproblemIsNotNull() {
            addCriterion("rrproblem is not null");
            return (Criteria) this;
        }

        public Criteria andRrproblemEqualTo(String value) {
            addCriterion("rrproblem =", value, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemNotEqualTo(String value) {
            addCriterion("rrproblem <>", value, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemGreaterThan(String value) {
            addCriterion("rrproblem >", value, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemGreaterThanOrEqualTo(String value) {
            addCriterion("rrproblem >=", value, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemLessThan(String value) {
            addCriterion("rrproblem <", value, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemLessThanOrEqualTo(String value) {
            addCriterion("rrproblem <=", value, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemLike(String value) {
            addCriterion("rrproblem like", value, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemNotLike(String value) {
            addCriterion("rrproblem not like", value, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemIn(List<String> values) {
            addCriterion("rrproblem in", values, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemNotIn(List<String> values) {
            addCriterion("rrproblem not in", values, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemBetween(String value1, String value2) {
            addCriterion("rrproblem between", value1, value2, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrproblemNotBetween(String value1, String value2) {
            addCriterion("rrproblem not between", value1, value2, "rrproblem");
            return (Criteria) this;
        }

        public Criteria andRrcostIsNull() {
            addCriterion("rrcost is null");
            return (Criteria) this;
        }

        public Criteria andRrcostIsNotNull() {
            addCriterion("rrcost is not null");
            return (Criteria) this;
        }

        public Criteria andRrcostEqualTo(Integer value) {
            addCriterion("rrcost =", value, "rrcost");
            return (Criteria) this;
        }

        public Criteria andRrcostNotEqualTo(Integer value) {
            addCriterion("rrcost <>", value, "rrcost");
            return (Criteria) this;
        }

        public Criteria andRrcostGreaterThan(Integer value) {
            addCriterion("rrcost >", value, "rrcost");
            return (Criteria) this;
        }

        public Criteria andRrcostGreaterThanOrEqualTo(Integer value) {
            addCriterion("rrcost >=", value, "rrcost");
            return (Criteria) this;
        }

        public Criteria andRrcostLessThan(Integer value) {
            addCriterion("rrcost <", value, "rrcost");
            return (Criteria) this;
        }

        public Criteria andRrcostLessThanOrEqualTo(Integer value) {
            addCriterion("rrcost <=", value, "rrcost");
            return (Criteria) this;
        }

        public Criteria andRrcostIn(List<Integer> values) {
            addCriterion("rrcost in", values, "rrcost");
            return (Criteria) this;
        }

        public Criteria andRrcostNotIn(List<Integer> values) {
            addCriterion("rrcost not in", values, "rrcost");
            return (Criteria) this;
        }

        public Criteria andRrcostBetween(Integer value1, Integer value2) {
            addCriterion("rrcost between", value1, value2, "rrcost");
            return (Criteria) this;
        }

        public Criteria andRrcostNotBetween(Integer value1, Integer value2) {
            addCriterion("rrcost not between", value1, value2, "rrcost");
            return (Criteria) this;
        }

        public Criteria andRrdescIsNull() {
            addCriterion("rrdesc is null");
            return (Criteria) this;
        }

        public Criteria andRrdescIsNotNull() {
            addCriterion("rrdesc is not null");
            return (Criteria) this;
        }

        public Criteria andRrdescEqualTo(String value) {
            addCriterion("rrdesc =", value, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescNotEqualTo(String value) {
            addCriterion("rrdesc <>", value, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescGreaterThan(String value) {
            addCriterion("rrdesc >", value, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescGreaterThanOrEqualTo(String value) {
            addCriterion("rrdesc >=", value, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescLessThan(String value) {
            addCriterion("rrdesc <", value, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescLessThanOrEqualTo(String value) {
            addCriterion("rrdesc <=", value, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescLike(String value) {
            addCriterion("rrdesc like", value, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescNotLike(String value) {
            addCriterion("rrdesc not like", value, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescIn(List<String> values) {
            addCriterion("rrdesc in", values, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescNotIn(List<String> values) {
            addCriterion("rrdesc not in", values, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescBetween(String value1, String value2) {
            addCriterion("rrdesc between", value1, value2, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrdescNotBetween(String value1, String value2) {
            addCriterion("rrdesc not between", value1, value2, "rrdesc");
            return (Criteria) this;
        }

        public Criteria andRrtimeIsNull() {
            addCriterion("rrtime is null");
            return (Criteria) this;
        }

        public Criteria andRrtimeIsNotNull() {
            addCriterion("rrtime is not null");
            return (Criteria) this;
        }

        public Criteria andRrtimeEqualTo(Timestamp value) {
            addCriterion("rrtime =", value, "rrtime");
            return (Criteria) this;
        }

        public Criteria andRrtimeNotEqualTo(Timestamp value) {
            addCriterion("rrtime <>", value, "rrtime");
            return (Criteria) this;
        }

        public Criteria andRrtimeGreaterThan(Timestamp value) {
            addCriterion("rrtime >", value, "rrtime");
            return (Criteria) this;
        }

        public Criteria andRrtimeGreaterThanOrEqualTo(Timestamp value) {
            addCriterion("rrtime >=", value, "rrtime");
            return (Criteria) this;
        }

        public Criteria andRrtimeLessThan(Timestamp value) {
            addCriterion("rrtime <", value, "rrtime");
            return (Criteria) this;
        }

        public Criteria andRrtimeLessThanOrEqualTo(Timestamp value) {
            addCriterion("rrtime <=", value, "rrtime");
            return (Criteria) this;
        }

        public Criteria andRrtimeIn(List<Timestamp> values) {
            addCriterion("rrtime in", values, "rrtime");
            return (Criteria) this;
        }

        public Criteria andRrtimeNotIn(List<Timestamp> values) {
            addCriterion("rrtime not in", values, "rrtime");
            return (Criteria) this;
        }

        public Criteria andRrtimeBetween(Timestamp value1, Timestamp value2) {
            addCriterion("rrtime between", value1, value2, "rrtime");
            return (Criteria) this;
        }

        public Criteria andRrtimeNotBetween(Timestamp value1, Timestamp value2) {
            addCriterion("rrtime not between", value1, value2, "rrtime");
            return (Criteria) this;
        }

        public Criteria andRrstatusIsNull() {
            addCriterion("rrstatus is null");
            return (Criteria) this;
        }

        public Criteria andRrstatusIsNotNull() {
            addCriterion("rrstatus is not null");
            return (Criteria) this;
        }

        public Criteria andRrstatusEqualTo(Integer value) {
            addCriterion("rrstatus =", value, "rrstatus");
            return (Criteria) this;
        }

        public Criteria andRrstatusNotEqualTo(Integer value) {
            addCriterion("rrstatus <>", value, "rrstatus");
            return (Criteria) this;
        }

        public Criteria andRrstatusGreaterThan(Integer value) {
            addCriterion("rrstatus >", value, "rrstatus");
            return (Criteria) this;
        }

        public Criteria andRrstatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("rrstatus >=", value, "rrstatus");
            return (Criteria) this;
        }

        public Criteria andRrstatusLessThan(Integer value) {
            addCriterion("rrstatus <", value, "rrstatus");
            return (Criteria) this;
        }

        public Criteria andRrstatusLessThanOrEqualTo(Integer value) {
            addCriterion("rrstatus <=", value, "rrstatus");
            return (Criteria) this;
        }

        public Criteria andRrstatusIn(List<Integer> values) {
            addCriterion("rrstatus in", values, "rrstatus");
            return (Criteria) this;
        }

        public Criteria andRrstatusNotIn(List<Integer> values) {
            addCriterion("rrstatus not in", values, "rrstatus");
            return (Criteria) this;
        }

        public Criteria andRrstatusBetween(Integer value1, Integer value2) {
            addCriterion("rrstatus between", value1, value2, "rrstatus");
            return (Criteria) this;
        }

        public Criteria andRrstatusNotBetween(Integer value1, Integer value2) {
            addCriterion("rrstatus not between", value1, value2, "rrstatus");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhIsNull() {
            addCriterion("rrstatuszh is null");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhIsNotNull() {
            addCriterion("rrstatuszh is not null");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhEqualTo(String value) {
            addCriterion("rrstatuszh =", value, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhNotEqualTo(String value) {
            addCriterion("rrstatuszh <>", value, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhGreaterThan(String value) {
            addCriterion("rrstatuszh >", value, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhGreaterThanOrEqualTo(String value) {
            addCriterion("rrstatuszh >=", value, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhLessThan(String value) {
            addCriterion("rrstatuszh <", value, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhLessThanOrEqualTo(String value) {
            addCriterion("rrstatuszh <=", value, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhLike(String value) {
            addCriterion("rrstatuszh like", value, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhNotLike(String value) {
            addCriterion("rrstatuszh not like", value, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhIn(List<String> values) {
            addCriterion("rrstatuszh in", values, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhNotIn(List<String> values) {
            addCriterion("rrstatuszh not in", values, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhBetween(String value1, String value2) {
            addCriterion("rrstatuszh between", value1, value2, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRrstatuszhNotBetween(String value1, String value2) {
            addCriterion("rrstatuszh not between", value1, value2, "rrstatuszh");
            return (Criteria) this;
        }

        public Criteria andRruidIsNull() {
            addCriterion("rruid is null");
            return (Criteria) this;
        }

        public Criteria andRruidIsNotNull() {
            addCriterion("rruid is not null");
            return (Criteria) this;
        }

        public Criteria andRruidEqualTo(Integer value) {
            addCriterion("rruid =", value, "rruid");
            return (Criteria) this;
        }

        public Criteria andRruidNotEqualTo(Integer value) {
            addCriterion("rruid <>", value, "rruid");
            return (Criteria) this;
        }

        public Criteria andRruidGreaterThan(Integer value) {
            addCriterion("rruid >", value, "rruid");
            return (Criteria) this;
        }

        public Criteria andRruidGreaterThanOrEqualTo(Integer value) {
            addCriterion("rruid >=", value, "rruid");
            return (Criteria) this;
        }

        public Criteria andRruidLessThan(Integer value) {
            addCriterion("rruid <", value, "rruid");
            return (Criteria) this;
        }

        public Criteria andRruidLessThanOrEqualTo(Integer value) {
            addCriterion("rruid <=", value, "rruid");
            return (Criteria) this;
        }

        public Criteria andRruidIn(List<Integer> values) {
            addCriterion("rruid in", values, "rruid");
            return (Criteria) this;
        }

        public Criteria andRruidNotIn(List<Integer> values) {
            addCriterion("rruid not in", values, "rruid");
            return (Criteria) this;
        }

        public Criteria andRruidBetween(Integer value1, Integer value2) {
            addCriterion("rruid between", value1, value2, "rruid");
            return (Criteria) this;
        }

        public Criteria andRruidNotBetween(Integer value1, Integer value2) {
            addCriterion("rruid not between", value1, value2, "rruid");
            return (Criteria) this;
        }

        public Criteria andRrunameIsNull() {
            addCriterion("rruname is null");
            return (Criteria) this;
        }

        public Criteria andRrunameIsNotNull() {
            addCriterion("rruname is not null");
            return (Criteria) this;
        }

        public Criteria andRrunameEqualTo(String value) {
            addCriterion("rruname =", value, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameNotEqualTo(String value) {
            addCriterion("rruname <>", value, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameGreaterThan(String value) {
            addCriterion("rruname >", value, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameGreaterThanOrEqualTo(String value) {
            addCriterion("rruname >=", value, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameLessThan(String value) {
            addCriterion("rruname <", value, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameLessThanOrEqualTo(String value) {
            addCriterion("rruname <=", value, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameLike(String value) {
            addCriterion("rruname like", value, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameNotLike(String value) {
            addCriterion("rruname not like", value, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameIn(List<String> values) {
            addCriterion("rruname in", values, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameNotIn(List<String> values) {
            addCriterion("rruname not in", values, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameBetween(String value1, String value2) {
            addCriterion("rruname between", value1, value2, "rruname");
            return (Criteria) this;
        }

        public Criteria andRrunameNotBetween(String value1, String value2) {
            addCriterion("rruname not between", value1, value2, "rruname");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}